package com.basicalg.impls;

import com.basicalg.helper.AlgHelper;

// 插入排序，将在右边没有排序的数组中选择一个，插入到左边已排序的数列中（两两交换的形式）
public class InsertionSort {
    public static void sort(Comparable[] arr) {
        for(int i =1; i<arr.length; i++) {
            //将 a[i] 插入到 a[i-1], a[i-2] ...a[0] 中
            for(int j = i; j>0 && AlgHelper.less(arr[j], arr[j-1]); j--) {
                AlgHelper.swap(arr, j, j-1);
            }
        }
    }
}